﻿namespace OT.HikiSecureCenterApis.Service.Video.Res
{
    public class ResTVWallAllResources
    {
        /// <summary>
        /// 电视墙信息列表
        /// </summary>
        public List<TvwallList> tvwall_list { get; set; }
    }
    
    /// <summary>
    /// 电视墙信息列表
    /// </summary>
    public class TvwallList
    {
        /// <summary>
        /// Tvwall编号
        /// </summary>
        public int tvwall_id { get; set; }
        /// <summary>
        /// Tvwall名称
        /// </summary>
        public string tvwall_name { get; set; }
        /// <summary>
        /// Tvwall索引值
        /// </summary>
        public string index_code { get; set; }
        /// <summary>
        /// 大屏信息列表，实际客户端上操作的电视墙
        /// </summary>
        public List<DlpList> dlp_list { get; set; }
    }
    /// <summary>
    /// 大屏信息列表，实际客户端上操作的电视墙
    /// </summary>
    public class DlpList
    {
        /// <summary>
        /// 大屏（实际客户端上操作的电视墙）id
        /// </summary>
        public int dlp_id { get; set; }
        /// <summary>
        /// 大屏（实际客户端上操作的电视墙）名称
        /// </summary>
        public string dlp_name { get; set; }
        /// <summary>
        /// 大屏（实际客户端上操作的电视墙）indexcode
        /// </summary>
        public string index_code { get; set; }
        /// <summary>
        /// 电视墙行数
        /// </summary>
        public int row { get; set; }
        /// <summary>
        /// 电视墙列数
        /// </summary>
        public int col { get; set; }
        /// <summary>
        /// 所属的电视墙indexcode
        /// </summary>
        public string belong_tvwall_indexcode { get; set; }
        /// <summary>
        /// 电视墙显示屏类型，电视墙显示屏类型分为两种：1-LCD，2-LED
        /// </summary>
        public int dlp_type { get; set; }
        /// <summary>
        /// 关联到这个电视墙解码器id，如果有多个解码器关联一个电视墙，该值为首个关联到该电视墙的解码器id
        /// </summary>
        public int decoder_id { get; set; }
        /// <summary>
        /// 关联到该电视墙解码器数量
        /// </summary>
        public int attached_device_num { get; set; }
        /// <summary>
        /// 当前执行的场景id
        /// </summary>
        public int cur_scene_id { get; set; }
        /// <summary>
        /// 当前执行的场景name
        /// </summary>
        public string cur_scene_name { get; set; }
        /// <summary>
        /// 布局是否改变，包括窗口分割、拼接、上墙等
        /// </summary>
        public bool layout_modified { get; set; }
        /// <summary>
        /// 客户端上展示的电视墙排序序号
        /// </summary>
        public int order { get; set; }
        /// <summary>
        /// 图层列表信息
        /// </summary>
        public List<FloatwmdList> floatwmd_list { get; set; }
        /// <summary>
        /// 显示器信息列表
        /// </summary>
        public List<MonitorList> monitor_list { get; set; }
    }
    /// <summary>
    /// 窗口编号
    /// </summary>
    public class WndList
    {
        /// <summary>
        /// 窗口编号
        /// </summary>
        public int wnd_id { get; set; }
        /// <summary>
        /// 与设备相关窗口uri，例：api/tvwall/1/device/2/floatwnd/33624065/subwnd/1
        /// </summary>
        public string wnd_uri { get; set; }
        /// <summary>
        /// 窗口上墙状态：0-空闲，1-上墙，2-轮巡，3-报警
        /// </summary>
        public int status { get; set; }
        /// <summary>
        /// 解码通道id
        /// </summary>
        public int decode_channel { get; set; }
        /// <summary>
        /// 虚拟id
        /// </summary>
        public int virtual_id { get; set; }
        /// <summary>
        /// 监控点信息
        /// </summary>
        public Camera camera { get; set; }
        /// <summary>
        /// 解码资源信息
        /// </summary>
        public Decoder decoder { get; set; }
    }

    public class FloatwmdList
    {
        /// <summary>
        /// 图层编号
        /// </summary>
        public int id { get; set; }
        /// <summary>
        /// 左坐标
        /// </summary>
        public int left { get; set; }
        /// <summary>
        /// 顶坐标
        /// </summary>
        public int top { get; set; }
        /// <summary>
        /// 图层宽度
        /// </summary>
        public int width { get; set; }
        /// <summary>
        /// 图层高度
        /// </summary>
        public int height { get; set; }
        /// <summary>
        /// 是否全屏放大
        /// </summary>
        public int full_larged { get; set; }
        /// <summary>
        /// 图层叠放序号，图层和图层之间可以重叠，值大的图层叠在值小的图层上。
        /// </summary>
        public int layer { get; set; }
        /// <summary>
        /// 设备中记录的图层编号
        /// </summary>
        public int dev_id { get; set; }
        /// <summary>
        /// 子窗口数
        /// </summary>
        public int subwnd_num { get; set; }
        /// <summary>
        /// 所属解码器的编号
        /// </summary>
        public int decoder_id { get; set; }
        /// <summary>
        /// 开窗所属监视器pos
        /// </summary>
        public int wndpos { get; set; }
        /// <summary>
        /// 本地缓存的图层编号
        /// </summary>
        public int wnd_id { get; set; }
        /// <summary>
        /// 绑定窗口uri,与电视墙相关，例：”api/tvwall/1/dlp/3/floatwnd/33624065”
        /// </summary>
        public string uri { get; set; }
        /// <summary>
        /// 定设备uri,与设备相关，例：“api/tvwall/1/device/2/floatwnd/33624065”
        /// </summary>
        public string attached_uri { get; set; }
        /// <summary>
        /// 大屏（实际客户端上操作的电视墙）id
        /// </summary>
        public int dlp_id { get; set; }
        /// <summary>
        /// 当前的解码能力集， 1-CIF 2-4CIF 3-D1 4-720P 5-1080P
        /// </summary>
        public int cur_ability { get; set; }
        /// <summary>
        /// 否处于放大状态
        /// </summary>
        public bool enlarged { get; set; }
        /// <summary>
        /// 是否进行报警联动分割
        /// </summary>
        public bool alarm_link_div { get; set; }
        /// <summary>
        /// 开窗模式: 0–统一坐标 1–分辨率开窗
        /// </summary>
        public int openwnd_mode { get; set; }
        /// <summary>
        /// 电视墙行数
        /// </summary>
        public int dlp_row { get; set; }
        /// <summary>
        /// 电视墙列数
        /// </summary>
        public int dlp_col { get; set; }
        /// <summary>
        /// 设备墙号
        /// </summary>
        public int device_wall_no { get; set; }
        /// <summary>
        /// 窗口信息列表
        /// </summary>
        public List<WndList> wnd_list { get; set; }
    }
    /// <summary>
    /// 显示器信息列表
    /// </summary>
    public class MonitorList
    {
        /// <summary>
        /// 输出通道编号
        /// </summary>
        public int output_id { get; set; }
        /// <summary>
        /// 输出通道indexCode
        /// </summary>
        public int index { get; set; }
        /// <summary>
        /// 输出在大屏上的位置，按从左到右，从上到下，0开始的编号
        /// </summary>
        public int pos { get; set; }
        /// <summary>
        /// 输出通道的名称
        /// </summary>
        public string monitor_name { get; set; }
        /// <summary>
        /// 标记是否已拼接
        /// </summary>
        public bool joint { get; set; }
        /// <summary>
        /// 关联的电视墙编号
        /// </summary>
        public int dlp_id { get; set; }
        /// <summary>
        /// 电视墙行数
        /// </summary>
        public int dlp_row { get; set; }
        /// <summary>
        /// 电视墙列数
        /// </summary>
        public int dlp_col { get; set; }
    }
}
